Skip to content

Two canvases cloned from screen recordings - #179

Open
Jing-yilin wants to merge 3 commits into
mainfrom
clone-video-prototype
Open

Jing-yilin wants to merge 3 commits into
mainfrom
clone-video-prototype

Conversation

@Jing-yilin

Copy link
Copy Markdown
Contributor

Two new example folders, both cloned from short screen recordings rather than
from screenshots or a Figma file. That source is new here and it is most of
what the two READMEs are about: no frame of a recording holds a whole screen
at full resolution, a frame is not a screenshot so the delta floor is not
zero, and h.264 blocking sits on every rim.

canvases/events-feed-ios/ — 7 boards + 4 references

An unnamed events-feed concept, 8.2 s at 2560 x 1698: a token board, two
evidence boards for 48 tokens, and four screens that are one scrolling feed at
four scroll offsets.

The camera zooms and pans over a phone that never moves, so the run solves the
screen's edges per frame, finds three static camera setups at 1.45, 3.61 and
3.78 px/pt, and probes.json carries all three with each probe naming its own
scale. Two frames of the same static shot differ by mean 1.14-1.69 levels, and
that is the floor the numbers are read against.

board whole art excluded
01 Feed, top 13.22 7.29
02 Life Lately 15.63 8.80
03 Rooftop Jazz 16.73 10.08
04 Friendsgiving 20.96 11.56

Colour probes 11, mean Δmax 1.3. Box probes 23, mean |dw| 0.82, mean |dh| 0.24.

The photo stacks and the avatars are original gradient art drawn from each
region's measured colours, because the source's photographs belong to whoever
made the recording; scratch/exart.py is what separates the two columns. The
phone is a 440 x 956 iPhone 17 Pro Max, which does not fit the default
478 x 980 artboard, so every board declares 532 x 1004.

canvases/stepwise-ios/ — 5 boards + 2 references

An iOS app called Stepwise, 9.9 s at 2160 x 2160: a token board, two evidence
boards for 43 tokens, the profile screen and the "Pick your vibe" avatar sheet
over it.

board whole cuts excluded
01 Profile 7.24 3.38 (7.2 % cut)
02 Pick your vibe 21.27 1.51 (56.3 % cut)

Colour probes 18, mean Δmax 2.6. Box probes 34, mean |dw| 0.50, mean |dh| 0.24.

Every face is this repo's own character art. The source's illustrations are
its designer's and are not reproduced, traced, cropped or imitated; what was
measured and matched is the system around them — a 2.78 pt line on a 92.7 pt
disc, the ink box, the pale ground, the grid pitch — and the two art regions
cost 72.54 and 41.65, stated rather than folded into a total. The capture
scale does not close to itself (2.38185 px/pt across against 2.36819 down, on
a frame whose 2.157 aspect belongs to no shipping iPhone), and the top
69.93 pt of the sheet screen is simply not in the recording.

One tool fix

refkit diff --regions crashed on a region file carrying a _-prefixed note,
unpacking the note as four coordinates and losing the rest of the table. A
probes.json already treats such a key as a comment; the diff command now does
too, with the help text, the skill and a regression test to match.

Notes

  • No ref-*.html and no assets/refs/ are committed; the root .gitignore
    already excludes both, so a fresh clone gets 7 boards and 5.
  • Both folders regenerate byte-identical with
    python3 canvases/<slug>/gen.py, pass refkit tokens, and fit their
    declared artboard under --check-overflow.
  • tools/test_refkit.py passes 26/26 under both pytest and
    python3 tools/test_refkit.py.

🤖 Generated with Claude Code

Jing-yilin and others added 3 commits September 25, 2026 06:58
Seven boards rebuilt from an 8.2 s, 2560 x 1698 recording of an unnamed
events-feed concept: a token board, two evidence boards for 48 tokens, and
four screens that are one scrolling feed at four scroll offsets.

The source is a video rather than screenshots, which is new here and is what
most of the folder's README is about. No frame holds the whole screen sharply,
because the camera zooms and pans over a phone that never moves, so the run
solves the screen's edges per frame, finds three static camera setups at 1.45,
3.61 and 3.78 px/pt, and probes.json carries all three with each probe naming
its own scale. A frame is also not a screenshot: two frames of the same static
shot differ by mean 1.14 to 1.69 levels, and that is the floor the deltas are
read against.

Mean absolute delta against the captures is 7.29 to 11.56 levels (of 255) with
the photographic regions masked and 13.22 to 20.96 with them in. The photo
stacks and the avatars are original gradient art drawn from each region's
measured colours, because the source's photographs belong to whoever made the
recording; scratch/exart.py is what separates the two numbers.

The phone is a 440 x 956 iPhone 17 Pro Max, which does not fit the default
478 x 980 artboard, so every board declares 532 x 1004 in layout.json.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
A region file is written by hand and reused across a run, so it wants a note
saying what each box is and why it is drawn where it is. A probes.json already
spells that convention: a key starting with an underscore is a comment. The
diff command did not, and unpacked the note as four coordinates, so the table
crashed halfway through and the run silently lost its per-region numbers.

Skip those keys, say so in the --regions help and in the skill, and add the
regression test.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Five boards plus two reference boards from a 9.9 s, 2160 x 2160 recording of
an iOS app called Stepwise: a token board and two evidence boards for 43
tokens, then the profile screen and the "Pick your vibe" avatar sheet over it.
Two states of the recording hold still long enough to measure, and the camera
zooms in at the same moment the sheet animates, so the two references sit at
different scales and each probe carries its own.

Mean absolute delta against those frames is 3.38 and 1.51 levels (of 255) once
the substituted regions are cut, 7.24 and 21.27 whole. Every face on these
boards is this repo's own character art: the source's illustrations are its
designer's and are not reproduced, traced or imitated, so what was measured
and matched is the system around them, the 2.78 pt line on a 92.7 pt disc, the
ink box, the pale ground and the grid pitch. Those regions cost 72.54 and
41.65 and the README states them rather than folding them into a total.

Also: av-11's hair path was malformed and rendered as a stray wedge across the
face, redrawn as a fringe in the same style; and events-feed-ios drops the
`order` it inherited from the templates folder, so both new examples sort with
the other clones rather than below the utility folders.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying super-prototyping with  Cloudflare Pages  Cloudflare Pages

Latest commit: 97ff8f5
Status: ✅  Deploy successful!
Preview URL: https://3399f64f.super-prototyping.pages.dev
Branch Preview URL: https://clone-video-prototype.super-prototyping.pages.dev

View logs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant